package com.itheima.api.integer.demo01;

import java.util.Arrays;

public class IntegerDemo03 {

    public static void main(String[] args) {

        /**
         * 练习题
         * 需求：有一个字符串：“91 27 46 38 50”，请写程序实现最终输出结果是“27 38 46 50 91”
         *
         * 步骤：
         * 1. 定义字符串变量：String s = "91 27 46 38 50";
         * 2. 调用字符串的public String[] split (String regex),按照空格进行切割；得到的就是一个字符串数组
         * 3. 把这个字符串数组转换成int类型的数组
         * 4. 对int类型的数组进行排序操作
         * 5. 遍历这个int类型的数组，做字符串拼接（StringBuilder）
         */
        //1. 定义字符串变量：String s = "91 27 46 38 50";
        String s = "91 27 46 38 50";

        //2. 调用字符串的public String[] spilt(String regex)，按照空格进行切割，得到的就是一个字符串数组
        String[] strArr = s.split(" ");

        //3.1 定义一个int类型的数组
        int[] arr = new int[strArr.length];

        //3.2 然后去遍历字符串数组
        for (int i = 0; i < strArr.length; i++) {

            //获取每一个元素
            String s1 = strArr[i];

            //将这个元素转换成int类型的值
            int a = Integer.parseInt(s1);

            //存储到int类型的数组中
            arr[i] = a;
        }

        //对int类型的数组进行排序操作
        Arrays.sort(arr);

        //遍历这个int类型的数组，做字符串拼接（StringBuilder）
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < arr.length; i++) {

            if(i == arr.length - 1){
                sb.append(arr[i]);
            }else{
                sb.append(arr[i] + " ");
            }
        }

        //得到结果，从StringBulider中获取字符串
        String result = sb.toString();

        //输出
        System.out.println(result);

    }

}
